#pragma once

#include <Blobz.h>
#include "TutVideo.h"
#include "TutVideo1.h"
#include <time.h>
#include <stdio.h>
#include <windows.h>

#include "BottomInteractable1.h"
#include "BottomInteractable2.h"
#include "BottomInteractable3.h"
#include "BottomInteractable4.h"
#include "BottomInteractable5.h"
#include "BottomInteractable6.h"
#include "BottomInteractable7.h"
#include "BottomInteractable8.h"
#include "BottomInteractable9.h"
#include "BottomInteractable10.h"
#include "BottomInteractable11.h"
#include "BottomInteractable12.h"
#include "BottomInteractable13.h"
#include "BottomInteractable14.h"
#include "BottomInteractable15.h"
#include "BottomInteractable16.h"
#include "time.h"
#include <iostream>
#include <csignal>

#include <QWebView>
#include <QUrl>
#include <QtCore/QtCore>
#include <QDesktopWidget>
#include <QMainWindow>
#include <QtGui>
#include <QtOpenGL>
#include <QWidget>
#include <QApplication>
#include <QtGui/QApplication>
#include <QListView>
#include <QWebFrame>

//namespace Blobz
//{
//	class QtKeyboard;
//}
namespace DigitalSignage
{
	class TutorApp5 : public Blobz::BaseApplication, public Blobz::GUIListener 
	{
	public:
		TutorApp5();
		~TutorApp5();

	public:
		virtual bool onInitialize();
		virtual void onDeinitialize();

		virtual void onReload();

		virtual void onUpdate(float inFrameTime);
		virtual void onDraw();
		

		virtual void onFingerDown(const  TouchListener::TouchData& inData);
		virtual void onFingerUp(const  TouchListener::TouchData& inData);
		virtual void onFingerUpdate(const  TouchListener::TouchData& inData);
		virtual void onFingerExit(const  TouchListener::TouchData& inData);
		virtual void onGUIEvent(Blobz::GUIBase* inpComponent, Blobz::GUIEvent inGUIEvent, Blobz::FingerEvent inFingerEvent);
		QVector2D rotatePointAboutPoint(QVector2D inPointA, QVector2D inPointB, float inAngle );
		void wait(int seconds);
		void signalHandler(int signum);
		

	private:
		TutVideo mVideo;
		TutVideo1 mVideo1;
		Blobz::Texture mBackgroundTexture;
		Blobz::GUIManager mGUIManager;
		

		/*BottomInteractable Object*/

		BottomInteractable1 mBottomInteractable1;
		BottomInteractable2 mBottomInteractable2;
		BottomInteractable3 mBottomInteractable3;
		BottomInteractable4 mBottomInteractable4;
		BottomInteractable5 mBottomInteractable5;
		BottomInteractable6 mBottomInteractable6;
		BottomInteractable7 mBottomInteractable7;
		BottomInteractable8 mBottomInteractable8;
		BottomInteractable9 mBottomInteractable9;
		BottomInteractable10 mBottomInteractable10;
		BottomInteractable11 mBottomInteractable11;
		BottomInteractable12 mBottomInteractable12;
		BottomInteractable13 mBottomInteractable13;
		BottomInteractable14 mBottomInteractable14;
		BottomInteractable15 mBottomInteractable15;
		BottomInteractable16 mBottomInteractable16;
		
		QWebView* m_pWebView;
		QWebView* m_pVideoWebView;
		QLabel* bigVideoLabel;
		QListView* view;
		
		Blobz::Button* b_WhereToGo;
		Blobz::Button* b_Shopping;
		Blobz::Button* b_Road;
		Blobz::Button* b_Mall;
		Blobz::Button* b_Cancel;

		Blobz::Button* btn_Shopping;
		Blobz::Button* btn_Food;
		Blobz::Button* btn_Place;
		Blobz::Button* btn_ShowNearBy;

	
		/*Image Button Inside Shopping Box*/

		Blobz::Button* btn_sImg1;
		Blobz::Button* btn_sImg2;
		Blobz::Button* btn_sImg3;

		Blobz::Button* btn_fImg1;
		Blobz::Button* btn_fImg2;
		Blobz::Button* btn_fImg3;

		Blobz::Button* btn_pImg1;
		Blobz::Button* btn_pImg2;
		Blobz::Button* btn_pImg3;

		//Blobz::QtKeyboard *mpKeyboard;

		Blobz::Button* btn_sDataImg1;
		Blobz::Button* btn_rDataImg1;

	};
}